1. Field of the Invention
The present invention relates generally to electronic computer systems, and more specifically to systems and methods for automatic configuration of orders to ensure availability as desired, with selected optimizations.
2. Description of the Prior Art
With the significant and accelerating increases in digital interconnectivity and machine communications in the last decade, ordering of products from a manufacturer has undergone many changes. In some industries, a sale is no longer a matter of a salesman placing an order and hoping the manufacturing plant can meet the order requirements. Instead, it is necessary to match the manufacturing capability of the plant with orders entered into the system to improve response time and maximize system efficiency.
In certain industries, one technique used by companies to distinguish themselves over their competition is to offer increased levels of customization of their products. For example, a computer manufacturer, often a systems level integrator of independently manufactured subsystems, can make available a wide variety of configuration options. This enables the purchaser to configure a custom system to meet his or her particular needs. However, allowing the purchaser this flexibility puts a tremendous burden on the manufacturer to ensure that all desired products and configurations are available, and available in a timely manner.
When a user customizes the configuration of his product, actual assembly of the product takes place after the order is entered. Examples of industries using this approach are the personal computer and automobile industries. Although some products are sold pre-configured, others are assembled to the customer's order. After the order is entered, the manufacturing facility must assemble the order as specified. This after order assembly requires that predicted delivery dates be provided to the customer at the time the order is entered.
In recent years, to deal with this complex problem, powerful systems have been implemented to assist with order entry and custom product configuration. Products such as the RHYTHM system available from I2 Technologies, and similar products from other sources, have seen increasing acceptance as manufacturers strive to provide improved customer service. Among other features, these systems generally provide a configuration engine to assist the purchaser in defining and customizing her product. Once the product has been defined, an Available to Promise (ATP) engine ensures that all of the required components are available, and commits to a shipping date.
The configuration engine, also referred to as a configurator, contains a sometimes complex set of rules defining valid product configurations. Not all possible configurations of subsystems and components are allowed by the seller. For example, a company in the computer assembly industry can allow only selected combinations of processors, disk storage units, displays, and memory configurations. These limitations act as constraints on the selection of which components can be used to assemble the final product. Because even a relatively limited offering can give rise to a large number of possible component combinations, the logic required to perform the configuration function can be quite large and complex.
From the purchaser's perspective, an interface is provided to the configuration engine which enables component selections to be made. For example, the user can select a particular type of base computer system to be purchased. The configuration engine will then lead the purchaser through a series of selections to customize the final product as desired. Of course, the customer is entitled to select a predefined package, but it is often the case that one or more variations from the standard product is desired.
As each selection is made, it imposes additional constraints on the set of valid configurations. Thus, prior selections constrain the user in making later selections. For example, in the computer assembly context, purchaser selection of a laptop computer, as opposed to a desktop model, will influence the components which may be selected to go into the final product. For example, once a laptop has been selected, only displays which are compatible with that laptop may be selected in the future. The configuration engine maintains the relationships necessary to ensure that the purchaser selects from only valid component choices.
Once the purchaser has completed definition of a product, the configuration engine submits the order to the manufacturer, which may be represented to the configuration engine as an Available to Promise engine. The ATP engine confirms the availability of all of the components required to assemble the product, including the availability of sufficient manufacturing resources to assemble the components into the final product. Some of the components and resources may not be available until some time in the future. The ATP system then confirms the order back to the purchaser at the user interface, provides a delivery date, and commits the components and resources at the manufacturing level.
When presenting a list of selections to a user, some systems will designate a default selection for the user. This is generally a selection chosen ahead of time by the manufacturer so that the final configuration defined by the user will be complete. In other words, use of a default for each selection enables a complete product to be configured.
It would be desirable to provide a mechanism for choosing a default user selection which maximizes or minimizes some function desired by the manufacturer. It would be further desirable to perform such selection at the time the user is selecting his product configuration in order to provide and enhance the default selection decision.